package com.ruoyi.part.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.utils.vo.PoCommon;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 零件发运对象 dms_parts_delivery
 * 
 * @author liuchuanfa
 * @date 2024-03-17
 */
public class DmsPartsDelivery extends PoCommon
{
    private static final long serialVersionUID = 1L;

    /** 采购订单id */
    @Excel(name = "采购订单id")
    private Long purchaseId;

    /** 发运单号 */
    @Excel(name = "发运单号")
    private String deliveryNo;

    /** 订单类型(1=正常订单,2=紧急订单,3=特殊订单) */
    @Excel(name = "订单类型", readConverterExp = "1=正常订单,2=紧急订单,3=特殊订单")
    private Integer orderType;

    /** 发运方式(1=海运,2=空运,3=陆运) */
    @Excel(name = "发运方式", readConverterExp = "1=海运,2=空运,3=陆运")
    private Integer shipmentType;

    /** 发运单状态(1=已发运,2=已到货,3=已签收) */
    @Excel(name = "发运单状态", readConverterExp = "1=已发运,2=已到货,3=已签收")
    private Integer dispatchStatus;

    /** 发运时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "发运时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dispatchTime;

    /** 签收时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "签收时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date signForTime;

    /** 厂端id */
    @Excel(name = "厂端id")
    private Long factoryId;

    /** 经销商id */
    @Excel(name = "经销商id")
    private Long dealerId;

    /** 经销商名称 */
    @Excel(name = "经销商名称")
    private String dealerName;

    /** 发运单备注 */
    @Excel(name = "发运单备注")
    private String dispatchRemark;

    /** 审核人id */
    @Excel(name = "审核人id")
    @TableField(value = "auditor_id", fill = FieldFill.INSERT_UPDATE)
    private Long auditorId;

    /** 审核人名称 */
    @Excel(name = "审核人名称")
    @TableField(value = "auditor_name", fill = FieldFill.INSERT_UPDATE)
    private String auditorName;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField(value = "auditor_time", fill = FieldFill.INSERT_UPDATE)
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date auditorTime;


    public void setPurchaseId(Long purchaseId) 
    {
        this.purchaseId = purchaseId;
    }

    public Long getPurchaseId() 
    {
        return purchaseId;
    }
    public void setDeliveryNo(String deliveryNo) 
    {
        this.deliveryNo = deliveryNo;
    }

    public String getDeliveryNo() 
    {
        return deliveryNo;
    }
    public void setOrderType(Integer orderType) 
    {
        this.orderType = orderType;
    }

    public Integer getOrderType() 
    {
        return orderType;
    }
    public void setShipmentType(Integer shipmentType) 
    {
        this.shipmentType = shipmentType;
    }

    public Integer getShipmentType() 
    {
        return shipmentType;
    }
    public void setDispatchStatus(Integer dispatchStatus) 
    {
        this.dispatchStatus = dispatchStatus;
    }

    public Integer getDispatchStatus() 
    {
        return dispatchStatus;
    }
    public void setDispatchTime(Date dispatchTime) 
    {
        this.dispatchTime = dispatchTime;
    }

    public Date getDispatchTime() 
    {
        return dispatchTime;
    }
    public void setSignForTime(Date signForTime) 
    {
        this.signForTime = signForTime;
    }

    public Date getSignForTime() 
    {
        return signForTime;
    }
    public void setFactoryId(Long factoryId) 
    {
        this.factoryId = factoryId;
    }

    public Long getFactoryId() 
    {
        return factoryId;
    }
    public void setDealerId(Long dealerId) 
    {
        this.dealerId = dealerId;
    }

    public Long getDealerId() 
    {
        return dealerId;
    }
    public void setDealerName(String dealerName) 
    {
        this.dealerName = dealerName;
    }

    public String getDealerName() 
    {
        return dealerName;
    }
    public void setDispatchRemark(String dispatchRemark) 
    {
        this.dispatchRemark = dispatchRemark;
    }

    public String getDispatchRemark() 
    {
        return dispatchRemark;
    }
    public void setAuditorId(Long auditorId) 
    {
        this.auditorId = auditorId;
    }

    public Long getAuditorId() 
    {
        return auditorId;
    }
    public void setAuditorName(String auditorName) 
    {
        this.auditorName = auditorName;
    }

    public String getAuditorName() 
    {
        return auditorName;
    }
    public void setAuditorTime(Date auditorTime) 
    {
        this.auditorTime = auditorTime;
    }

    public Date getAuditorTime() 
    {
        return auditorTime;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("purchaseId", getPurchaseId())
            .append("deliveryNo", getDeliveryNo())
            .append("orderType", getOrderType())
            .append("shipmentType", getShipmentType())
            .append("dispatchStatus", getDispatchStatus())
            .append("dispatchTime", getDispatchTime())
            .append("signForTime", getSignForTime())
            .append("factoryId", getFactoryId())
            .append("dealerId", getDealerId())
            .append("dealerName", getDealerName())
            .append("dispatchRemark", getDispatchRemark())
            .append("auditorId", getAuditorId())
            .append("auditorName", getAuditorName())
            .append("auditorTime", getAuditorTime())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("createBy", getCreateBy())
            .append("updateBy", getUpdateBy())
            .append("createUserName", getCreateUserName())
            .append("updateUserName", getUpdateUserName())
            .append("version", getVersion())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
